package com.ugoodtech.mdcc.web.service;

/**
 * Created with IntelliJ IDEA.
 * User: Kotone
 * Date: 2018/5/30
 * Time: 14:25
 * To change this template use File | Settings | File Templates.
 */


/* Copyright (C) Ugoodtech, Inc - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited
 * Proprietary and confidential
 * Written by Stone Shaw, 16/3/17
 */

import com.ugoodtech.mdcc.core.domain.User;
import com.ugoodtech.mdcc.core.exception.UsernameAlreadyExistException;
import com.ugoodtech.mdcc.core.exception.VStarException;
import com.ugoodtech.mdcc.web.pojo.vo.UserProfileDTO;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface UserService {

    User createUser(User systemUser, Long roleId) throws UsernameAlreadyExistException;

    void updateUser(User systemUser, Long enterpriseId) throws UsernameAlreadyExistException;

    Page<User> queryUser(String param, String roleName, Pageable pageable);

    User queryOneUser(String userNo, String name) throws VStarException;

    void delete(Long userId);

    void delete(List<Long> userIds);

    boolean changePassword(User user, String password, String oldPassword);

    boolean initPassword(User user);

    /**
     * 根据输入项获取所有用户名称列表
     * @param name 输入项
     **/
    List<String> getUserNameListOfEmployee(String name);
}

